package com.jichangxiu.common.annotation;

import com.jichangxiu.common.enums.LimitType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface Limit {

    // 请求限流（second 秒内，只允许 count 个请求通过）
    boolean enabled() default true;

    // 限流个数
    int count() default 10;

    // 限流时常
    int second() default 10;

    // 限流策略
    LimitType limitType() default LimitType.GLOBAL;

}
